import jwt from 'jsonwebtoken'
import pool from '../db/index.js'
import tokenBlackList from '../utils/tokenBlackList.js'

export function authenticate(req,res,next){
    try {
        const authHeader = req.headers.authorization

        if(!authHeader || !authHeader.startsWith('Bearer ')){
            return res.status(401).json('您还没有登录！')
        }

        const token = authHeader.split(' ')[1];
        if(tokenBlackList[token]){
            return res.status(401).json('登录状态失效或者已经过期!')
        }
        const decode = jwt.verify(token,process.env.JWT_SECRET);

        next()
    } catch (error) {
        return res.status(401).json('登录过期，请您重新登录')
    }
}